package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.Dto.DishDto;
import com.itheima.reggie.Dto.DishUpdateDto;
import com.itheima.reggie.Dto.QueryListDto;
import com.itheima.reggie.common.Result;
import com.itheima.reggie.entity.Dish;

import java.util.List;

/**
 * @author Yan
 * @date 2022/2/26
 */
public interface DishService extends IService<Dish> {

    /**
     * 添加菜品，同时保存对应的口味数据
     * @param dishDto
     * @return
     */
    Result<String> saveWithFlavor(DishDto dishDto);

    /**
     * 菜品分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Result<Page<QueryListDto>> findDishPage(Long page, Long pageSize, String name);

    /**
     * 数据回显
     * @param id
     * @return
     */
    Result<DishUpdateDto> findDishById(Long id);


    /**
     * 修改
     * @param dishUpdateDto
     * @return
     */
    Result<String> updateDish(DishUpdateDto dishUpdateDto);


    /**
     * 根据分类Id查询菜品
     * @param categoryId
     * @param status
     * @return
     */
    Result<List<DishDto>> listByCategoryId(Long categoryId,Integer status);

    /**
     * 批量删除
     * @param ids
     * @return
     */
    Result<String> deleteDishByList(List<Long> ids);

    /**
     * 菜品停售起售
     * @param status
     * @param ids
     * @return
     */
    Result<String> dishStatus(Integer status, List<Long> ids);
}
